std::literals::chrono_literals:: operator""y
|
Défini dans l'en-tête
<chrono>
|
||
|
constexpr
std::
chrono
::
year
operator
""
y
(
unsigned
long
long
y
)
noexcept
;
|
(depuis C++20) | |
Forme un littéral std::chrono::year représentant une année dans le calendrier grégorien proleptique .
Table des matières |
Paramètres
| y | - | la valeur de l'année |
Valeur de retour
Un
std::chrono::year
initialisé à partir d'un
int
(
y
)
. Si
y
n'est pas dans l'intervalle
[
-
32767
,
32767
]
, la valeur stockée n'est pas spécifiée.
Implémentation possible
constexpr std::chrono::year operator""y(unsigned long long y) noexcept { return std::chrono::year(static_cast<int>(y)); } |
Notes
Cet opérateur est déclaré dans l'espace de noms std :: literals :: chrono_literals , où à la fois literals et chrono_literals sont des espaces de noms inline . L'accès à cet opérateur peut être obtenu avec :
- using namespace std :: literals ,
- using namespace std :: chrono_literals , ou
- using namespace std :: literals :: chrono_literals .
De plus, dans l'espace de noms std :: chrono , la directive using namespace literals :: chrono_literals ; est fournie par la bibliothèque standard , de sorte que si un programmeur utilise using namespace std :: chrono ; pour accéder aux classes de la bibliothèque chrono , les opérateurs littéraux correspondants deviennent également visibles.
Exemple
#include <chrono> #include <iostream> int main() { using namespace std::literals; std::cout << int(2020y) << '\t' << 2020y << '\n' << int(-220y) << '\t' << -220y << '\n' << int(3000y) << '\t' << 3000y << '\n' << int(32768y) << '\t' << 32768y << '\n' // unspecified << int(65578y) << '\t' << 65578y << '\n'; // unspecified }
Sortie possible :
2020 2020 -220 -0220 3000 3000 -32768 -32768 is not a valid year 42 0042
Voir aussi
construit une
year
(fonction membre publique de
std::chrono::year
)
|